package org.ztr.yanai.blog.annotation;

import java.lang.annotation.*;

/**
 * @Author: ZhaoTR
 * @Date: Created in 2025/11/22 14:30
 * @Description: 权限校验注解，用于标记需要权限的方法
 * @Version: 1.0
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequirePermission {
    
    /**
     * 需要的权限列表
     */
    String[] value() default {};
    
    /**
     * 需要的角色列表
     */
    String[] roles() default {};
    
    /**
     * 是否需要所有权限（true）还是任意一个即可（false）
     */
    boolean requireAll() default false;
}
